#!/usr/bin/env python
# -*- coding: utf-8 -*-

# @Time     :2020/09/19
# @Author   :Changshu
# @File     :practice_125.py
# 125. 验证回文串 给定一个字符串，验证它是否是回文串，只考虑字母和数字字符，可以忽略字母的大小写。
#
# 说明：本题中，我们将空字符串定义为有效的回文串。

def isPalindrome(s: str) -> bool:
	s_clean=''
	for i in range(len(s)):
		if s[i].isalpha() or s[i].isdigit():
			s_clean+=s[i].lower()
	# print(s_clean)
	n=len(s_clean)
	if n%2==0:
		n=int(n/2)
	else:
		n=int((n-1)/2)
	for i in range(n):
		if s_clean[i]!=s_clean[-i-1]:
			return False
	return True

if __name__ == '__main__':
	s="A man, a plan, a canal: Panama"
	# s="race a car"
	b=isPalindrome(s)
	print(b)